package com.shensi.adminCollect.mapper.markert;

import com.shensi.adminCollect.domain.markert.ReductionActivity;
import com.shensi.adminCollect.domain.markert.vo.ReductionActivitiesAmountVO;
import com.shensi.adminCollect.domain.markert.vo.ReductionActivitiesVO;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 立减活动Mapper接口
 * 
 * @author qujia
 * @date 2021-11-03
 */
public interface ReductionActivityMapper 
{
    /**
     * 查询立减活动
     * 
     * @param activityId 立减活动ID
     * @return 立减活动
     */
    public ReductionActivity selectReductionActivityById(Long activityId);

    /**
     * 查询立减活动列表
     * 
     * @param reductionActivity 立减活动
     * @return 立减活动集合
     */
    public List<ReductionActivity> selectReductionActivityList(ReductionActivity reductionActivity);

    /**
     * 新增立减活动
     * 
     * @param reductionActivity 立减活动
     * @return 结果
     */
    public int insertReductionActivity(ReductionActivity reductionActivity);

    /**
     * 修改立减活动
     * 
     * @param reductionActivity 立减活动
     * @return 结果
     */
    public int updateReductionActivity(ReductionActivity reductionActivity);

    /**
     * 删除立减活动
     * 
     * @param activityId 立减活动ID
     * @return 结果
     */
    public int deleteReductionActivityById(Long activityId);

    /**
     * 批量删除立减活动
     * 
     * @param activityIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteReductionActivityByIds(Long[] activityIds);

    List<ReductionActivity> selectByStationId(@Param("activity") ReductionActivity activity, @Param("stationId") long stationId);

    List<ReductionActivitiesAmountVO> selectReductionActivityStationId(ReductionActivitiesVO reductionActivitiesVO);

    void updateReductionActivityBudget(BigDecimal negate, Integer activityId);
}
